

#include "Public.h"




void SysTick_Handler(void)
{




        
        
        
;
        
}

















//================================ i/o中断

void EXTI2_3_IRQHandler(void)

{

    EXTI->IMR &=~0x08 ;  //关外部中断
    
    EXTI->PR = EXTI_Line3;   //清除 LINE 上的中断标志位     

}



void EXTI4_15_IRQHandler(void)          

{                      

    EXTI->IMR &=~0x80 ;  //关外部中断

    EXTI->PR = EXTI_Line7;   //清除 LINE 上的中断标志位    

}






//==========================TIM14中断=============================

void TIM14_IRQHandler(void)
{

  
  if(TIM_GetITStatus(TIM14, TIM_IT_CC1) == SET)
   {    

      gc.sys_ms_cnt++;  //系统时基

//        gc.uart2_ms_cnt++;  
      
      gc.start_display_delay++;
      
      uart1_1ms(); //每1ms进一次，在1ms中断里面引用 
      uart2_1ms(); //每1ms进一次，在1ms中断里面引用       
  
      

      gc.u8Scan_output_1ms_cnt++;
      gc.u8Scan_input_1ms_cnt++; 
      gc.u8Scan_key_1ms_cnt++;       
      gc.u8Scan_logic_1ms_cnt++;  

      
      fac_ms_cnt++;//等待延时计时器


      work_time1_cnt++;       // 气阀延时计数
      work_time2_cnt++;       //  第1次冲水计数
      work_time3_cnt++;      // 气阀打开计数
      work_time4_cnt++;       // 第2次冲水计数 
      
      
      relay1_off_time++;//   继电器1接通时间ms
      relay1_on_time++;//   继电器1断开时间ms
      relay2_off_time++;//   继电器2接通时间ms
      relay2_on_time++;//   继电器2断开时间ms
      relay3_off_time++;//   继电器3接通时间ms
      relay3_on_time++;//   继电器3断开时间ms      

      
//      flash_1_cnt++;
//      flash_0_cnt++;      
      flash_cnt++;//设置闪烁
      gc.WriteData_delay_cnt++;
      

      
      auto_onoff_cnt++;
      
      power_flush_cnt++;//   power冲洗间隔计数器
      water_full_cnt++;//   满水冲洗间隔计数器
      
      
      BEEP_cnt++;//蜂鸣器



     TIM_Cmd(TIM14, ENABLE);  
     TIM_ClearITPendingBit(TIM14, TIM_IT_CC1);
     TIM_ClearFlag(TIM14, TIM_FLAG_CC1); // 清除计数器中断标志位 

   }
}

//==========================TIM3中断=============================

void TIM3_IRQHandler(void)
{
    if(TIM_GetITStatus(TIM3, TIM_IT_CC4) != RESET)
    {
       TIM_ClearFlag(TIM3, TIM_FLAG_CC4);//清除TIMx的待处理标志位
    } 
  
    if(TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)
   {    
//      soft_433_count();//433采集程序

      TIM_ClearFlag(TIM3, TIM_FLAG_Update);//清除TIMx的待处理标志位
   } 
  
}
 

// void  DMA1_Channel1_IRQHandler( void )
//{
//
//  if( DMA_GetITStatus(DMA1_IT_TC1 )  != RESET )  //检查指定的DMA通道x中断发生与否(DMA1通道1传输完成中断)   
//  {
//   //  DMA_ClearITPendingBit(DMA1_IT_GL1 );//清除DMA通道x中断待处理标志位(DMA1通道1全局中断)
//
//     DMA1->IFCR   |= ( DMA1_IT_GL1 |DMA1_FLAG_TC1 );   //清除DMA_ISR寄存器中的对应的GIF、 TCIF标志  
//       
//    // 只有禁止通道 才可以对以下寄存器写操作
//     DMA1_Channel1->CCR   &= ~0x00000001;// 0：通道不工作  1：通道工作
//     
//   //  DMA1_Channel1->CPAR  = (u32)(&USART2->DR ); //外设地址寄存器
//   //  DMA1_Channel1->CMAR  = (u32)u16TxdBuf; //内存地址  
//     DMA1_Channel1->CNDTR  =  2; //DMA_BufferSize    
//     DMA1_Channel1->CCR   |= 0x00000001;// 0：通道不工作  1：通道工作
//     
//  }
//  
////==========================================================================
//
//
//} 
  
  
